import request from '@/config/axios'
import type { Dayjs } from 'dayjs'

/** 回收优惠券信息 */
export interface ColCoupon {
  id: number // 优惠券ID
  couponName?: string // 优惠券名称
  couponType: boolean // 优惠券类型(1-满减券,2-折扣券)
  amount: number // 金额(满减券为固定金额,折扣券为折扣比例)
  minAmount: number // 最低使用金额
  validStartTime?: string | Dayjs // 有效期开始时间
  validEndTime?: string | Dayjs // 有效期结束时间
  status: boolean // 状态(0-禁用,1-启用)
  createTime: string | Dayjs // 创建时间
  updateTime: string | Dayjs // 更新时间
  creator: string // 创建者
  updater: string // 更新者
  deleted?: boolean // 是否删除
}

// 回收优惠券 API
export const ColCouponApi = {
  // 查询回收优惠券分页
  getColCouponPage: async (params: any) => {
    return await request.get({ url: `/promotion/coupon/page`, params })
  },

  // 查询回收优惠券详情
  getColCoupon: async (id: number) => {
    return await request.get({ url: `/recycling/col-coupon/get?id=` + id })
  },

  // 新增回收优惠券
  createColCoupon: async (data: ColCoupon) => {
    return await request.post({ url: `/recycling/col-coupon/create`, data })
  },

  // 修改回收优惠券
  updateColCoupon: async (data: ColCoupon) => {
    return await request.put({ url: `/recycling/col-coupon/update`, data })
  },

  // 删除回收优惠券
  deleteColCoupon: async (id: number) => {
    return await request.delete({ url: `/recycling/col-coupon/delete?id=` + id })
  },

  /** 批量删除回收优惠券 */
  deleteColCouponList: async (ids: number[]) => {
    return await request.delete({ url: `/recycling/col-coupon/delete-list?ids=${ids.join(',')}` })
  },

  // 导出回收优惠券 Excel
  exportColCoupon: async (params) => {
    return await request.download({ url: `/recycling/col-coupon/export-excel`, params })
  }
}
